package com.ec.mn.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;

/**
 * 预警规则表
 * 对应表：warning_rules
 * 存储不同健康数据类型的预警阈值（如血压、血糖的正常范围）
 */
@Data
@TableName("warning_rules")
public class WarningRules {
    /**
     * 规则ID（自增主键）
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 健康数据类型（与 HealthRecord 的 recordType 对应，如 "血压"、"血糖"）
     */
    private String recordType;

    /**
     * 测量值1最小值（如收缩压下限，低于此值触发预警）
     * 为空表示不校验最小值
     */
    private String minValue1;

    /**
     * 测量值1最大值（如收缩压上限，高于此值触发预警）
     * 为空表示不校验最大值
     */
    private String maxValue1;

    /**
     * 测量值2最小值（如舒张压下限，低于此值触发预警）
     * 为空表示不校验最小值
     */
    private String minValue2;

    /**
     * 测量值2最大值（如舒张压上限，高于此值触发预警）
     * 为空表示不校验最大值
     */
    private String maxValue2;

    /**
     * 预警规则描述（如 "血压收缩压>140mmHg 或 舒张压>90mmHg 触发预警"）
     */
    private String description;

    /**
     * 规则状态（0-禁用，1-启用）
     */
    private Integer status;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;
}